<?php

class PdoCommentaire extends PdoConnect {

    public function create(commentaire $commentaire) {
        try {
            $this->open();
            $sql = "INSERT INTO `commentaire`(IDCOMMENTAIRE, IDUTILISAT, IDNEWS, CONTENUCOMMENTAIRE, DATECOMMENTAIRE, AUTEURCOMMENTAIRE) VALUES(?, ?, ?, ?, ?, ?)";

            $prep = $this->pdo->prepare($sql);

            $prep->bindValue(1, $commentaire->getIdCommentaire(), PDO::PARAM_INT);
            $prep->bindValue(2, $commentaire->getIdUtilisat(), PDO::PARAM_INT);
            $prep->bindValue(3, $commentaire->getIdNews(), PDO::PARAM_INT);
            $prep->bindValue(4, $commentaire->getContenuCommentaire(), PDO::PARAM_STR);
            $prep->bindValue(5, $commentaire->getDateCommentaire(), PDO::PARAM_STR);
            $prep->bindValue(6, $commentaire->getAuteurCommentaire(), PDO::PARAM_STR);

            $prep->execute();
        } catch (PDOException $e) {
            $msg = 'ERREUR PDO dans ' . $e->getFile() . ' L.' . $e->getLine() . ' : ' . $e->getMessage();
            die($msg);
        }
    }

    public function readAll() {
        try {
            $this->open();
            $sql = "SELECT * FROM `commentaire` ORDER BY IDNEWS";
            $prep = $this->pdo->prepare($sql);

            $prep->execute();
            $prep->setFetchMode(PDO::FETCH_ASSOC);


            return $prep;
        } catch (PDOException $e) {
            $msg = 'ERREUR PDO dans ' . $e->getFile() . ' L.' . $e->getLine() . ' : ' . $e->getMessage();
            die($msg);
        }
    }

    public function readOne($IdCommentaire) {
        try {
            $this->open();
            $sql = "SELECT * FROM `commentaire` WHERE IDCOMMENTAIRE=$IdCommentaire";
            $prep = $this->pdo->prepare($sql);

            $prep->execute();

            $commentaire = new Commentaire();
            $ligne = $prep->fetch(PDO::FETCH_OBJ);
            $commentaire->setIdCommentaire($ligne->IDCOMMENTAIRE);
            $commentaire->setIdUtilisat($ligne->IDUTILISAT);
            $commentaire->setIdNews($ligne->IDNEWS);
            $commentaire->setContenuCommentaire($ligne->CONTENUCOMMENTAIRE);
            $commentaire->setDateCommentaire($ligne->DATECOMMENTAIRE);
            $commentaire->setAuteurCommentaire($ligne->AUTEURCOMMENTAIRE);

            return $commentaire;
        } catch (PDOException $e) {
            $msg = 'ERREUR PDO dans ' . $e->getFile() . ' L.' . $e->getLine() . ' : ' . $e->getMessage();
            die($msg);
        }
    }

    public function delete(commentaire $commentaire) {

        try {
            $this->open();
            $sql = "DELETE FROM commentaire WHERE IDCOMMENTAIRE=?";

            $prep = $this->pdo->prepare($sql);


            $prep->bindValue(1, $commentaire->getIdCommentaire(), PDO::PARAM_INT);


            $prep->execute();
        } catch (PDOException $e) {
            $msg = 'ERREUR PDO dans ' . $e->getFile() . ' L.' . $e->getLine() . ' : ' . $e->getMessage();
            die($msg);
        }
    }

    public function update(commentaire $commentaire) {
        try {

            $this->open();
            $sql = "UPDATE commentaire SET IDUTILISAT= ?, IDNEWS=? ,CONTENUCOMMENTAIRE=?,DATECOMMENTAIRE=?, AUTEURCOMMENTAIRE= ? WHERE IDCOMMENTAIRE= ?";

            $prep = $this->pdo->prepare($sql);


            $prep->bindValue(1, $commentaire->getIdUtilisat(), PDO::PARAM_INT);
            $prep->bindValue(2, $commentaire->getIdNews(), PDO::PARAM_INT);
            $prep->bindValue(3, $commentaire->getContenuCommentaire(), PDO::PARAM_STR);
            $prep->bindValue(4, $commentaire->getDateCommentaire(), PDO::PARAM_STR);
            $prep->bindValue(5, $commentaire->getAuteurCommentaire(), PDO::PARAM_STR);
            $prep->bindValue(6, $commentaire->getIdCommentaire(), PDO::PARAM_INT);




            $prep->execute();
        } catch (PDOException $e) {
            $msg = 'ERREUR PDO dans ' . $e->getFile() . ' L.' . $e->getLine() . ' : ' . $e->getMessage();
            die($msg);
        }
    }

    

}
